Automated soundness checking of a programming logic for Haskell
نویسنده
چکیده
P-logic is a verification logic for the programming language Haskell. Inference rules are expressed in sequent calculus for each of the term constructs of Haskell. Validating soundness of these rules is an essential task. Most rules of P-logic are polymorphic, independent of Haskell’s type classes. The paper develops a parametricity principle for predicates of P-logic, which justifies checking soundness of polymorphic rules at a particular type instance. By implementing the Haskell semantics with a meta-circular interpreter, automated model-checking has been used to validate soundness of the polymorphic inference rules of P-logic.
منابع مشابه
Static Contract Checking via First-Order Logic
We enrich the static semantics of Haskell in order to give stronger static guarantees about the input/output behavior of programs. Our approach has two parts: a contract system for Haskell, and a novel strategy for statically checking that a term satisfies a contract. The contract system includes refinement types, which refine Haskell types by arbitrary Boolean-valued Haskell expressions, and a...
متن کاملImplementation of a Pragmatic Translation from Haskell into Isabelle/HOL
Among other things the functional programming paradigm – in its pure form – offers the advantage of referential transparency. This facilitates reasoning over programs considerably. Haskell is one of the rare purely functional programming languages that is also of practical relevance. Yet, a comparable success for the verification of Haskell programs has not been achieved, so far. Unfortunately,...
متن کاملRTA ’ 06 Workshop WRS ’ 06 The Sixth International Workshop on Reduction Strategies in Rewriting and Programming
Plover is an automated property-verifier for Haskell programs that has been under development for the past three years as a component of the Programatica project. In Programatica, predicate definitions and property assertions written in P-logic, a programming logic for Haskell, can be embedded in the text of a Haskell program module. P-logic properties refine the type system of Haskell but cann...
متن کاملNORMC: a Norm Compliance Temporal Logic Model Checker
We describe NORMC, a model checker for Norm Compliance CTL, a temporal logic for reasoning about compliance in normative systems, implemented in the Haskell programming language. NORMC is intended as a tool for students, researchers, and practitioners to learn about and understand normative systems, and as an exploratory tool for researchers in multi-agent systems. The objectives of the paper a...
متن کاملChecking foundational proof certificates for first-order logic
We present the design philosophy of a proof checker based on a notion of foundational proof certificates. At the heart of this design is a semantics of proof evidence that arises from recent advances in the theory of proofs for classical and intuitionistic logic. That semantics is then performed by a (higher-order) logic program: successful performance means that a formal proof of a theorem has...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003